


#ifndef GateCCCoincidenceSequenceReconMessenger_h
#define GateCCCoincidenceSequenceReconMessenger_h 1

#include "GatePulseProcessorMessenger.hh"

class G4UIdirectory;
class G4UIcmdWithoutParameter;
class G4UIcmdWithAString;
class G4UIcmdWithABool;
class G4UIcmdWithAnInteger;
class G4UIcmdWithADouble;
class G4UIcmdWithADoubleAndUnit;
class G4UIcmdWith3Vector;
class G4UIcmdWith3VectorAndUnit;

class GateCCCoincidenceSequenceRecon;

class GateCCCoincidenceSequenceReconMessenger: public GateClockDependentMessenger
{
public:
    GateCCCoincidenceSequenceReconMessenger(GateCCCoincidenceSequenceRecon* itsSequence);
    virtual ~GateCCCoincidenceSequenceReconMessenger();

    inline void SetNewValue(G4UIcommand* aCommand, G4String aString);

    inline GateCCCoincidenceSequenceRecon* GetCoincidenceSequence(){ return (GateCCCoincidenceSequenceRecon*) GetClockDependent(); }

private:

    G4UIcmdWithAString         * sequencePolicyCmd;  //!< The UI command "sequencePolicy"

};

#endif
